home *** CD-ROM | disk | FTP | other *** search
/ Apple II Magazines (PO) / Bits and Bytes Volume 11, No. 05 (1989-11)(Apple Computing Enjoyment Society)(Side B).zip / Bits and Bytes Volume 11, No. 05 (1989-11)(Apple Computing Enjoyment Society)(Side B).po / PROGRAMS / CHG.FONT.FTYPE.bas < prev    next >
BASIC Source File  |  1996-12-24  |  4KB  |  118 lines

  1. 10  REM   PROGRAM MODIFIED FROM FILE TYPE CHANGER BY JIM MENSH
  2. 20 D$ =  CHR$(4)
  3. 25  TEXT : HOME : PRINT  CHR$(21)
  4. 30  REM    SET UP VARIABLE NAMES
  5. 40 PARMCOUNT = 16384: REM    PARAMETER COUNT
  6. 50 PNAME = 16385: REM    PATHNAME
  7. 60 FTYPE = 16388: REM     PRODOS FILE TYPE 
  8. 70 PBUF = 16640
  9. 80 CMMD = 771
  10. 90  REM   SET UP PATH NAME PARMS
  11. 100  POKE PNAME,0: POKE PNAME +1,65: REM    SET PATH NAME BUFFER TO 16640
  12. 110  TEXT : HOME : VTAB 2
  13. 120  PRINT "   Beta Version 1.2 - - Public Domain": PRINT 
  14. 130  PRINT "  FONT TYPE FIXER for PUBLISH IT! [tm]"
  15. 140  PRINT "________________________________________"
  16. 150  PRINT "This Program is modified from one by Jim     Mensch of Cupertino California"
  17. 160  PRINT 
  18. 170  PRINT "Changes compatible Macintosh/IIgs Fonts   between $C8 (FON) and $F7 (IMG) types."
  19. 180  PRINT 
  20. 190  PRINT "Since this MODIFIES YOUR FONT DISK, you should make and use a BACKUP Font Disk!"
  21. 200  PRINT 
  22. 210  PRINT "Remove this Program Disk and place your    BACKUP Font Disk in the Drive now."
  23. 220  PRINT : INVERSE : PRINT "   BE SURE IT IS NOT WRITE PROTECTED    ": PRINT : NORMAL 
  24. 230  PRINT "       <Hit any key to continue>"
  25. 240 KEY =  PEEK(49152): IF KEY <128  THEN 240
  26. 250  POKE 49168,0
  27. 260  TEXT : HOME : REM   MACH LANG ROUTINE
  28. 270  POKE 768,32: POKE 769,0
  29. 280  POKE 770,191: POKE 771,196
  30. 290  POKE 772,0: POKE 773,64
  31. 300  POKE 774,133: POKE 775,255
  32. 310  POKE 776,96
  33. 320  REM   GET NEW PREFIX AND ADD FILE NAME LATER
  34. 330  PRINT D$;"PREFIX"
  35. 340  INPUT PR$
  36. 350  PRINT D$;"PREFIX";PR$
  37. 360  POKE (FTYPE),0
  38. 370  VTAB 4
  39. 380  VTAB 15: PRINT "       Hit <RETURN> to CATALOG": VTAB 4
  40. 390  INPUT "Name of Font to Change ? ";F$
  41. 400  IF F$ = ""  THEN  GOTO 1100
  42. 410 P$ = PR$ +F$
  43. 420  REM    GET FILE INFO
  44. 430 L =  LEN(P$): REM    GET LENGTH OF PATH NAME
  45. 440  IF L <1  THEN P$ = "&BADPATH" GOTO 430
  46. 450  POKE PBUF,L
  47. 460  FOR X = 1 TO L: POKE PBUF +X, ASC( MID$ (P$,X,1)): NEXT X: REM   STORE THE PATH NAME
  48. 470  POKE PARMCOUNT,10: REM    PARM COUNT FOR GET FILE INFO
  49. 480  POKE CMMD,196: REM    COMMAND NUMBER FOR GFI
  50. 490  CALL 768: REM    NOW GO GET THE FILE INFO!
  51. 500  IF  PEEK(255) < >0 GOTO 950
  52. 510  REM   PRINT OUT INFORMATION
  53. 520 Q =  PEEK(FTYPE)
  54. 530  HOME : VTAB 4
  55. 540  PRINT F$;" on Volume ";PR$
  56. 550  PRINT "is a";
  57. 560  IF Q = 200  THEN  PRINT " $C8 IIgs (FON) Font."
  58. 570  IF Q = 247  THEN  PRINT " $F7 (IMG) Font"
  59. 580  IF Q <200  THEN  PRINT "n INVALID Font !": GOSUB 1050: GOTO 360
  60. 590  PRINT 
  61. 600  PRINT "Do you wish to change it to a"
  62. 610  IF Q = 200  THEN  PRINT "$F7 (IMG) Font ?"
  63. 620  IF Q = 247  THEN  PRINT "$C8 (FON) Font ?"
  64. 630  PRINT : PRINT 
  65. 640  INPUT "(Y/N) ? ";R$
  66. 650  IF R$ = "Y"  OR R$ = "y"  THEN  GOTO 670
  67. 660  GOTO 840
  68. 670  REM    NOW SET THE NEW FILE TYPE...
  69. 680  PRINT : PRINT 
  70. 690  IF Q = 200  THEN CT = 247
  71. 700  IF Q = 247  THEN CT = 200
  72. 710  POKE FTYPE,CT
  73. 720  PRINT : PRINT : FLASH 
  74. 730  HTAB 16
  75. 740  PRINT "WORKING"
  76. 750  POKE CMMD,195
  77. 760  POKE PARMCOUNT,7
  78. 770  CALL 768
  79. 780  NORMAL 
  80. 790  IF  PEEK(255) < >0 GOTO 950
  81. 800  PRINT : HOME : INVERSE 
  82. 810  PRINT "    THE FONT TYPE HAS BEEN CHANGED !    ": NORMAL 
  83. 820  PRINT "You may wish to catalog the disk to           check any changes made": PRINT 
  84. 830  POKE FTYPE,0
  85. 840  PRINT : PRINT 
  86. 850  INPUT "Work with additional fonts (Y/N) ? ";R$
  87. 860  IF R$ = "Y"  OR R$ = "y"  THEN  HOME : GOTO 360
  88. 870  PRINT : PRINT 
  89. 880  PRINT "Program Modified by:"
  90. 890  PRINT 
  91. 900  PRINT "Bill Olson
  92. 910  PRINT "6970 Arbor Drive"
  93. 920  PRINT "Riverside, CA"
  94. 930  PRINT "92504"
  95. 940  END 
  96. 950  REM   MLI ERROR TRAPPING
  97. 960  HOME : VTAB 12: HTAB 13
  98. 970  IF  PEEK(255) = 39  THEN  PRINT "I/O ERROR !"
  99. 980  IF  PEEK(255) = 43  THEN  PRINT "WRITE PROTECTED"
  100. 990  IF  PEEK(255) = 68  THEN  PRINT "PATH NOT FOUND"
  101. 1000  IF  PEEK(255) = 69  THEN  PRINT "VOLUME NOT FOUND"
  102. 1010  IF  PEEK(255) = 70  THEN  PRINT "FILE NOT FOUND"
  103. 1020  CALL 54915: REM   CLEAR OFF STACK
  104. 1030  GOSUB 1050: HOME 
  105. 1040  GOTO 360
  106. 1050  REM   DELAY LOOP
  107. 1060  FOR DLY = 1 TO 2000
  108. 1070  NEXT DLY
  109. 1080  HOME 
  110. 1090  RETURN 
  111. 1100  REM   CATALOG ROUTINE
  112. 1110  TEXT : HOME 
  113. 1120  PRINT D$;"CAT"
  114. 1130  INVERSE : PRINT "            ANY KEY TO CONTINUE        "
  115. 1140  NORMAL 
  116. 1150 KEY =  PEEK(49152): IF KEY <128  THEN 1150
  117. 1160  POKE 49168,0
  118. 1170  HOME : GOTO 360